home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload Trio 2 / Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO / dir44 / dungn32.zip / DOSPORT.DOC < prev    next >
Text File  |  1994-10-08  |  5KB  |  108 lines

  1.  
  2. A few notes about my port of Robert Supniks Dungeon V3.2 from various DEC
  3. FORTRANs (VMS, OSF/1, and Unix) to DOS Microsoft FORTRAN PowerStation.              
  4.                                                       Volker Blasius, 07oct94
  5.  
  6. -----------------------------------------------------------------------------
  7.  
  8. - Microsoft FORTRAN doesn't accept the free form source code:
  9.       label<tab>code
  10.       <tab>code
  11.       <tab>X<tab>continuation
  12.   so I wrote a program (convsrc.c) to convert it to the traditional form:
  13.       label code
  14.             code
  15.            Xcontinuation
  16.   CONVSRC.BAT that runs this program on all the modules also changes the
  17.   names from *.F to *.FOR because the Visual Workbench insists on it.
  18.   Affected modules: *.F
  19.                     *.FOR
  20.  
  21. - OPEN (...,NAME='name',...,READONLY,...)        must be changed to 
  22.   OPEN (...,FILE='name.DAT',...,MODE='READ',...)
  23.   Affected modules: GAME.FOR
  24.  
  25. - FORMAT(On) (octal editing) is not supported, so I just changed it to 
  26.   FORMAT(Zn) (hexadecimal) everywhere.
  27.   Affected modules: GDT.FOR
  28.                     VERBS.FOR 
  29.  
  30. - The syntax for octal constants is 8#1234, not '1234'O
  31.   Affected modules: PARSER.FOR
  32.  
  33. - The statement to write something to stdout is not TYPE but PRINT
  34.   Affected modules: TIMEFNC.FOR
  35.  
  36. - Several modules terminate the whole program with CALL EXIT.
  37.   MS FORTRAN doesn't know this function, so I changed the statement to
  38.   STOP ' '  
  39.   Affected modules: DUNGEON.FOR
  40.                     ROOMS.FOR
  41.                     SUBR.FOR
  42.                     VERBS.FOR
  43.  
  44. - I rewrote UNIXSUBR.C for DOS and named the result DOSSUBR.FOR (mainly
  45.   because it already existed from my port of Dungeon V3.1, so I could fix
  46.   this problem and the next one below by just copying my old DOSSUBR.FOR).
  47.   Affected modules: UNIXSUBR.C
  48.                     DOSSUBR.FOR
  49.  
  50. - GAME.FOR calls an undefined function IDATE in addition to the function
  51.   ITIME defined in DOSSUBR.FOR, so I added a function IDATE to DOSSUBR.FOR
  52.   analogous to ITIME.
  53.   Affected modules: DOSSUBR.FOR
  54.  
  55. - The random number routine in Microsoft FORTRAN is a subroutine named
  56.   RANDOM, not a function named RAN. RANDOM doesn't accept a seed value;
  57.   its internal counter must be initialized once with CALL SEED.
  58.   Affected modules: SUBR.FOR
  59.  
  60. - The record length of UNFORMATTED DIRECT file DTEXT.DAT must be specified
  61.   in bytes, not in long words, so I changed the definition of RECLNT in
  62.   DPARAM.FOR from 20 (lw) to 80 (char).
  63.   Affected modules: DPARAM.FOR
  64.  
  65. - Following a suggestion by Larry Brenkus, I inserted
  66.   PAUSE '--More--' 
  67.   twice in the end-of-game code to prevent the end-of-game messages from just
  68.   flashing over the screen.
  69.   Affected modules: ROOMS.FOR
  70.  
  71. - Logical statement function NOHERE (new in version 3.2) was not declared
  72.   LOGICAL, resulting in error messages ("cannot convert"), so I added NOHERE
  73.   to the LOGICAL declaration line.
  74.   Affected modules: VERBS.FOR
  75.  
  76. - Here's a note from the MS FORTRAN documentation about additional files
  77.   needed to run the program:
  78.  
  79. ----------------------------- start of quotation -------------------------
  80.   ============================< Question 6 >==============================
  81. I compiled and linked my program and it runs fine on the machine where 
  82. FORTRAN Powerstation is installed but when I take it to another machine it
  83. won't run.  How can I make this application run on another machine?
  84.  
  85. Answer:
  86. There are two additional files that need to be installed on the machine
  87. where you are going to run the FORTRAN application: DOSXMSF.EXE and 
  88. DOSXNT.386. DOSXMSF.EXE is the actual DOS extender that allows your 32-bit 
  89. program to run under MS-DOS. DOXSNT.386 is a DPMI device driver that allows
  90. your program to run as a 32-bit DOS-extended program under Windows.
  91.  
  92. You need to install DOSXMSF.EXE either in the same directory as the FORTRAN 
  93. program or in a directory that is in your DOS PATH environment variable.
  94. DOSXNT.386 is a Windows device driver that is necessary if you want to run
  95. the FORTRAN application in an MS-DOS session under Windows.  To install
  96. DOSXNT.386, you need the following entry in the SYSTEM.INI file under the
  97. [386Enh] section:
  98.  
  99.   device=C:\F32\BIN\dosxnt.386
  100.   
  101.  
  102.   Redistribution Rights
  103. ---------------------
  104. You have the right to distribute the DOS extender files DOSXMSF.EXE and
  105. DOSXNT.386 with programs that you create with FORTRAN PowerStation. There
  106. is no royalty required.
  107. ------------------------------ end of quotation --------------------------
  108.